package com.luoke.service;

import com.luoke.result.Result;
import org.java_websocket.WebSocket;

public interface BattleResponseService {

    /**
     * 拿到所有的在线用户并返回给客户端
     *
     * @param conn   与客户端的通信对象
     * @param result 客户端数据
     */
    void showUserOnlineName(WebSocket conn, Result result);

    /**
     * 处理对战请求，发送给对应的客户端
     *
     * @param conn   与客户端的通信对象
     * @param result 客户端数据
     */
    void battleRequest(WebSocket conn, Result result);

    /**
     * 对对方玩家同意或拒绝的请求的处理
     *
     * @param conn   与客户端的通信对象
     * @param result 客户端数据
     */
    void acceptBattleRequest(WebSocket conn, Result result);

    /**
     * 把用户加入等待阶段
     *
     * @param conn   与客户端的通信对象
     * @param result 客户端数据
     */
    void waitForUser(WebSocket conn, Result result);

    /**
     * 把等待区的用户响应给客户端
     * @param conn 与客户端的通信对象
     * @param result 客户端数据
     */
    void showWaitForUser(WebSocket conn, Result result);

    /**
     * 这里处理的是匹配对战的请求
     *
     * @param conn   与客户端的通信对象
     * @param result 客户端数据
     */
    void matchBattle(WebSocket conn, Result result);

    /**
     * 处理的是逃跑的情况
     * @param conn 与客户端的通信对象
     * @param result 客户端数据
     */
    void battleQuit(WebSocket conn, Result result);

    /**
     * 根据经验提升等级
     * @param conn 与客户端的通信对象
     * @param result 客户端数据
     */
    void upLevel(WebSocket conn, Result result);
}
